Theory of Computation GATE